Управление ролями менеджеров

RoleManager

Управление ролями менеджеров.

class yandex_b2b_go.role.RoleManager

Методы

  • list — получает список ролей менеджеров подразделения.
  • create — выдает роль менеджеру подразделения.
  • update — обновляет роль менеджеру подразделения.
  • delete — удаляет существующую роль менеджера подразделения.

List

Получает список ролей менеджеров подразделения.

async def list(
    roles: Optional[List[Role]] = None, 
    department_id: Optional[str] = None, 
    limit: Optional[int] = None,
    cursor: Optional[str] = None
) -> ManagersListResponse

Параметры

  • department_id — идентификатор департамента.
  • roles — список ролей, которые нужно вывести. Список класса Role(ссылка на typing.Role)
  • limit — количество выводимых записей. Значение от 1 до 100. При отсутствии данного параметра возвращается информация о первых 10 записях.
  • cursor — отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.

В случае успешного выполнения возвращает класс ManagersListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    role_manager = RoleManager(client=client)
    try:
        roles = await role_manager.list(
            limit=20,
            roles=[typing.Role.department_manager, typing.Role.department_secretary],
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Create

Выдает роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.

async def create(manager: Manager) -> ManagerResponse

Параметр

  • manager — информация о роли менеджера. Класс Manager.

В случае успешного выполнения возвращает класс ManagerResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    role_manager = RoleManager(client=client)
    try:
        manager = typing.Manager(
            yandex_login='sample_yandex_login',
            role=typing.Role.department_manager,
            department_id='3648...396b',
            phone='+799900000000',
            email='sample_email@example.com',
            fullname='Иванов Илья',
        )
        role_id = await role_manager.create(manager=manager)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Update

Обновляет роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.

async def update(
    manager_id: str,
    manager: Manager
) -> ManagerResponse

Параметры

  • manager_id — идентификатор менеджера подразделения, для которого обновляется роль.
  • manager — информация о роли менеджера. Класс Manager.

В случае успешного выполнения возвращает класс ManagerResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    role_manager = RoleManager(client=client)
    try:
        manager = typing.Manager(
            yandex_login='sample_yandex_login',
            role=typing.Role.department_manager,
            department_id='3648...396b',
            phone='+799900000000',
            email='sample_email@example.com',
            fullname='Иванов Илья',
        )
        role_id = await role_manager.update(
            manager=manager,
            manager_id='07e4...b2f4',
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Delete

Удаляет существующую роль менеджера подразделения.

async def delete(manager_id: str) -> ManagerResponse

Параметр

  • manager_id — идентификатор менеджера подразделения, для которого обновляется роль.

В случае успешного выполнения возвращает класс ManagerResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    role_manager = RoleManager(client=client)
    try:
        role_id = await role_manager.delete(
            manager_id='07e4...b2f4',
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая